home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Slots.p < prev    next >
Encoding:
Text File  |  1998-02-12  |  15.5 KB  |  419 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Slots.p
  3.  
  4.      Contains:    Slot Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1986-1993, 1995-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Slots;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __SLOTS__}
  28. {$SETC __SLOTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC SlotsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __EVENTS__}
  38. {$I Events.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __FILES__}
  41. {$I Files.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49.  
  50. CONST
  51.     fCardIsChanged                = 1;                            { Card is Changed field in StatusFlags field of sInfoArray }
  52.     fCkForSame                    = 0;                            { For SearchSRT. Flag to check for SAME sResource in the table.  }
  53.     fCkForNext                    = 1;                            { For SearchSRT. Flag to check for NEXT sResource in the table.  }
  54.     fWarmStart                    = 2;                            { If this bit is set then warm start else cold start. }
  55.  
  56.     stateNil                    = 0;                            { State }
  57.     stateSDMInit                = 1;                            { :Slot declaration manager Init }
  58.     statePRAMInit                = 2;                            { :sPRAM record init }
  59.     statePInit                    = 3;                            { :Primary init }
  60.     stateSInit                    = 4;                            { :Secondary init }
  61.  
  62.                                                                 {  flags for spParamData  }
  63.     fall                        = 0;                            {  bit 0: set=search enabled/disabled sRsrc's  }
  64.     foneslot                    = 1;                            {     1: set=search sRsrc's in given slot only  }
  65.     fnext                        = 2;                            {     2: set=search for next sRsrc  }
  66.  
  67.                                                                 {  Misc masks  }
  68.     catMask                        = $08;                            {  sets spCategory field of spTBMask (bit 3)  }
  69.     cTypeMask                    = $04;                            {  sets spCType    field of spTBMask (bit 2)  }
  70.     drvrSWMask                    = $02;                            {  sets spDrvrSW   field of spTBMask (bit 1)  }
  71.     drvrHWMask                    = $01;                            {  sets spDrvrHW      field of spTBMask (bit 0)  }
  72.  
  73.  
  74. TYPE
  75. {$IFC TYPED_FUNCTION_POINTERS}
  76.     SlotIntServiceProcPtr = FUNCTION(sqParameter: LONGINT): INTEGER;
  77. {$ELSEC}
  78.     SlotIntServiceProcPtr = Register68kProcPtr;
  79. {$ENDC}
  80.  
  81.     SlotIntServiceUPP = UniversalProcPtr;
  82.  
  83. CONST
  84.     uppSlotIntServiceProcInfo = $0000B822;
  85.  
  86. FUNCTION NewSlotIntServiceProc(userRoutine: SlotIntServiceProcPtr): SlotIntServiceUPP;
  87.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  88.     INLINE $2E9F;
  89.     {$ENDC}
  90.  
  91. FUNCTION CallSlotIntServiceProc(sqParameter: LONGINT; userRoutine: SlotIntServiceUPP): INTEGER;
  92.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  93.     {To be implemented:  Glue to move parameters into registers.}
  94.     {$ENDC}
  95.  
  96. TYPE
  97.     SlotIntQElementPtr = ^SlotIntQElement;
  98.     SlotIntQElement = RECORD
  99.         sqLink:                    Ptr;                                    { ptr to next element }
  100.         sqType:                    INTEGER;                                { queue type ID for validity }
  101.         sqPrio:                    INTEGER;                                { priority }
  102.         sqAddr:                    SlotIntServiceUPP;                        { interrupt service routine }
  103.         sqParm:                    LONGINT;                                { optional A1 parameter }
  104.     END;
  105.  
  106.     SQElemPtr                            = ^SlotIntQElement;
  107.     SpBlockPtr = ^SpBlock;
  108.     SpBlock = RECORD
  109.         spResult:                LONGINT;                                { FUNCTION Result }
  110.         spsPointer:                Ptr;                                    { structure pointer }
  111.         spSize:                    LONGINT;                                { size of structure }
  112.         spOffsetData:            LONGINT;                                { offset/data field used by sOffsetData }
  113.         spIOFileName:            Ptr;                                    { ptr to IOFile name for sDisDrvrName }
  114.         spsExecPBlk:            Ptr;                                    { pointer to sExec parameter block. }
  115.         spParamData:            LONGINT;                                { misc parameter data (formerly spStackPtr). }
  116.         spMisc:                    LONGINT;                                { misc field for SDM. }
  117.         spReserved:                LONGINT;                                { reserved for future expansion }
  118.         spIOReserved:            INTEGER;                                { Reserved field of Slot Resource Table }
  119.         spRefNum:                INTEGER;                                { RefNum }
  120.         spCategory:                INTEGER;                                { sType: Category }
  121.         spCType:                INTEGER;                                { Type }
  122.         spDrvrSW:                INTEGER;                                { DrvrSW }
  123.         spDrvrHW:                INTEGER;                                { DrvrHW }
  124.         spTBMask:                SInt8;                                    { type bit mask bits 0..3 mask words 0..3 }
  125.         spSlot:                    SInt8;                                    { slot number }
  126.         spID:                    SInt8;                                    { structure ID }
  127.         spExtDev:                SInt8;                                    { ID of the external device }
  128.         spHwDev:                SInt8;                                    { Id of the hardware device. }
  129.         spByteLanes:            SInt8;                                    { bytelanes from card ROM format block }
  130.         spFlags:                SInt8;                                    { standard flags }
  131.         spKey:                    SInt8;                                    { Internal use only }
  132.     END;
  133.  
  134.     SInfoRecordPtr = ^SInfoRecord;
  135.     SInfoRecord = RECORD
  136.         siDirPtr:                Ptr;                                    { Pointer to directory }
  137.         siInitStatusA:            INTEGER;                                { initialization E }
  138.         siInitStatusV:            INTEGER;                                { status returned by vendor init code }
  139.         siState:                SInt8;                                    { initialization state }
  140.         siCPUByteLanes:            SInt8;                                    { 0=[d0..d7] 1=[d8..d15] }
  141.         siTopOfROM:                SInt8;                                    { Top of ROM= $FssFFFFx: x is TopOfROM }
  142.         siStatusFlags:            SInt8;                                    { bit 0 - card is changed }
  143.         siTOConst:                INTEGER;                                { Time Out C for BusErr }
  144.         siReserved:                ARRAY [0..1] OF SInt8;                    { reserved }
  145.         siROMAddr:                Ptr;                                    {  addr of top of ROM  }
  146.         siSlot:                    SInt8;                                    {  slot number  }
  147.         siPadding:                ARRAY [0..2] OF SInt8;                    {  reserved  }
  148.     END;
  149.  
  150.     SInfoRecPtr                            = ^SInfoRecord;
  151.     SDMRecordPtr = ^SDMRecord;
  152.     SDMRecord = RECORD
  153.         sdBEVSave:                ProcPtr;                                { Save old BusErr vector }
  154.         sdBusErrProc:            ProcPtr;                                { Go here to determine if it is a BusErr }
  155.         sdErrorEntry:            ProcPtr;                                { Go here if BusErrProc finds real BusErr }
  156.         sdReserved:                LONGINT;                                { Reserved }
  157.     END;
  158.  
  159.     FHeaderRecPtr = ^FHeaderRec;
  160.     FHeaderRec = RECORD
  161.         fhDirOffset:            LONGINT;                                { offset to directory }
  162.         fhLength:                LONGINT;                                { length of ROM }
  163.         fhCRC:                    LONGINT;                                { CRC }
  164.         fhROMRev:                SInt8;                                    { revision of ROM }
  165.         fhFormat:                SInt8;                                    { format - 2 }
  166.         fhTstPat:                LONGINT;                                { test pattern }
  167.         fhReserved:                SInt8;                                    { reserved }
  168.         fhByteLanes:            SInt8;                                    { ByteLanes }
  169.     END;
  170.  
  171. {
  172.    
  173.        Extended Format header block  -  extended declaration ROM format header for super sRsrc directories.    <H2><SM0>
  174.    
  175. }
  176.  
  177.     XFHeaderRecPtr = ^XFHeaderRec;
  178.     XFHeaderRec = RECORD
  179.         fhXSuperInit:            LONGINT;                                { Offset to SuperInit SExecBlock    <fhFormat,offset> }
  180.         fhXSDirOffset:            LONGINT;                                { Offset to SuperDirectory            <$FE,offset> }
  181.         fhXEOL:                    LONGINT;                                { Psuedo end-of-list                <$FF,nil> }
  182.         fhXSTstPat:                LONGINT;                                { TestPattern }
  183.         fhXDirOffset:            LONGINT;                                { Offset to (minimal) directory }
  184.         fhXLength:                LONGINT;                                { Length of ROM }
  185.         fhXCRC:                    LONGINT;                                { CRC }
  186.         fhXROMRev:                SInt8;                                    { Revision of ROM }
  187.         fhXFormat:                SInt8;                                    { Format-2 }
  188.         fhXTstPat:                LONGINT;                                { TestPattern }
  189.         fhXReserved:            SInt8;                                    { Reserved }
  190.         fhXByteLanes:            SInt8;                                    { ByteLanes }
  191.     END;
  192.  
  193.     SEBlockPtr = ^SEBlock;
  194.     SEBlock = PACKED RECORD
  195.         seSlot:                    UInt8;                                    { Slot number. }
  196.         sesRsrcId:                UInt8;                                    { sResource Id. }
  197.         seStatus:                INTEGER;                                { Status of code executed by sExec. }
  198.         seFlags:                UInt8;                                    { Flags }
  199.         seFiller0:                UInt8;                                    { Filler, must be SignedByte to align on odd boundry }
  200.         seFiller1:                UInt8;                                    { Filler }
  201.         seFiller2:                UInt8;                                    { Filler }
  202.         seResult:                LONGINT;                                { Result of sLoad. }
  203.         seIOFileName:            LONGINT;                                { Pointer to IOFile name. }
  204.         seDevice:                UInt8;                                    { Which device to read from. }
  205.         sePartition:            UInt8;                                    { The partition. }
  206.         seOSType:                UInt8;                                    { Type of OS. }
  207.         seReserved:                UInt8;                                    { Reserved field. }
  208.         seRefNum:                UInt8;                                    { RefNum of the driver. }
  209.         seNumDevices:            UInt8;                                    {  Number of devices to load. }
  210.         seBootState:            UInt8;                                    { State of StartBoot code. }
  211.         filler:                    SInt8;
  212.     END;
  213.  
  214. {  Principle  }
  215. FUNCTION SReadByte(spBlkPtr: SpBlockPtr): OSErr;
  216.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  217.     INLINE $205F, $7000, $A06E, $3E80;
  218.     {$ENDC}
  219. FUNCTION SReadWord(spBlkPtr: SpBlockPtr): OSErr;
  220.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  221.     INLINE $205F, $7001, $A06E, $3E80;
  222.     {$ENDC}
  223. FUNCTION SReadLong(spBlkPtr: SpBlockPtr): OSErr;
  224.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  225.     INLINE $205F, $7002, $A06E, $3E80;
  226.     {$ENDC}
  227. FUNCTION SGetCString(spBlkPtr: SpBlockPtr): OSErr;
  228.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  229.     INLINE $205F, $7003, $A06E, $3E80;
  230.     {$ENDC}
  231. FUNCTION SGetBlock(spBlkPtr: SpBlockPtr): OSErr;
  232.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  233.     INLINE $205F, $7005, $A06E, $3E80;
  234.     {$ENDC}
  235. FUNCTION SFindStruct(spBlkPtr: SpBlockPtr): OSErr;
  236.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  237.     INLINE $205F, $7006, $A06E, $3E80;
  238.     {$ENDC}
  239. FUNCTION SReadStruct(spBlkPtr: SpBlockPtr): OSErr;
  240.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  241.     INLINE $205F, $7007, $A06E, $3E80;
  242.     {$ENDC}
  243. {  Special  }
  244. FUNCTION SReadInfo(spBlkPtr: SpBlockPtr): OSErr;
  245.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  246.     INLINE $205F, $7010, $A06E, $3E80;
  247.     {$ENDC}
  248. FUNCTION SReadPRAMRec(spBlkPtr: SpBlockPtr): OSErr;
  249.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  250.     INLINE $205F, $7011, $A06E, $3E80;
  251.     {$ENDC}
  252. FUNCTION SPutPRAMRec(spBlkPtr: SpBlockPtr): OSErr;
  253.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  254.     INLINE $205F, $7012, $A06E, $3E80;
  255.     {$ENDC}
  256. FUNCTION SReadFHeader(spBlkPtr: SpBlockPtr): OSErr;
  257.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  258.     INLINE $205F, $7013, $A06E, $3E80;
  259.     {$ENDC}
  260. FUNCTION SNextSRsrc(spBlkPtr: SpBlockPtr): OSErr;
  261.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  262.     INLINE $205F, $7014, $A06E, $3E80;
  263.     {$ENDC}
  264. FUNCTION SNextTypeSRsrc(spBlkPtr: SpBlockPtr): OSErr;
  265.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  266.     INLINE $205F, $7015, $A06E, $3E80;
  267.     {$ENDC}
  268. FUNCTION SRsrcInfo(spBlkPtr: SpBlockPtr): OSErr;
  269.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  270.     INLINE $205F, $7016, $A06E, $3E80;
  271.     {$ENDC}
  272. FUNCTION SDisposePtr(spBlkPtr: SpBlockPtr): OSErr;
  273.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  274.     INLINE $205F, $7017, $A06E, $3E80;
  275.     {$ENDC}
  276. FUNCTION SCkCardStat(spBlkPtr: SpBlockPtr): OSErr;
  277.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  278.     INLINE $205F, $7018, $A06E, $3E80;
  279.     {$ENDC}
  280. FUNCTION SReadDrvrName(spBlkPtr: SpBlockPtr): OSErr;
  281.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  282.     INLINE $205F, $7019, $A06E, $3E80;
  283.     {$ENDC}
  284. FUNCTION SFindSRTRec(spBlkPtr: SpBlockPtr): OSErr;
  285.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  286.     INLINE $205F, $701A, $A06E, $3E80;
  287.     {$ENDC}
  288. FUNCTION SFindDevBase(spBlkPtr: SpBlockPtr): OSErr;
  289.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  290.     INLINE $205F, $701B, $A06E, $3E80;
  291.     {$ENDC}
  292. FUNCTION SFindBigDevBase(spBlkPtr: SpBlockPtr): OSErr;
  293.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  294.     INLINE $205F, $701C, $A06E, $3E80;
  295.     {$ENDC}
  296. {  Advanced  }
  297. FUNCTION InitSDeclMgr(spBlkPtr: SpBlockPtr): OSErr;
  298.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  299.     INLINE $205F, $7020, $A06E, $3E80;
  300.     {$ENDC}
  301. FUNCTION SPrimaryInit(spBlkPtr: SpBlockPtr): OSErr;
  302.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  303.     INLINE $205F, $7021, $A06E, $3E80;
  304.     {$ENDC}
  305. FUNCTION SCardChanged(spBlkPtr: SpBlockPtr): OSErr;
  306.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  307.     INLINE $205F, $7022, $A06E, $3E80;
  308.     {$ENDC}
  309. FUNCTION SExec(spBlkPtr: SpBlockPtr): OSErr;
  310.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  311.     INLINE $205F, $7023, $A06E, $3E80;
  312.     {$ENDC}
  313. FUNCTION SOffsetData(spBlkPtr: SpBlockPtr): OSErr;
  314.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  315.     INLINE $205F, $7024, $A06E, $3E80;
  316.     {$ENDC}
  317. FUNCTION SInitPRAMRecs(spBlkPtr: SpBlockPtr): OSErr;
  318.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  319.     INLINE $205F, $7025, $A06E, $3E80;
  320.     {$ENDC}
  321. FUNCTION SReadPBSize(spBlkPtr: SpBlockPtr): OSErr;
  322.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  323.     INLINE $205F, $7026, $A06E, $3E80;
  324.     {$ENDC}
  325. FUNCTION SCalcStep(spBlkPtr: SpBlockPtr): OSErr;
  326.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  327.     INLINE $205F, $7028, $A06E, $3E80;
  328.     {$ENDC}
  329. FUNCTION SInitSRsrcTable(spBlkPtr: SpBlockPtr): OSErr;
  330.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  331.     INLINE $205F, $7029, $A06E, $3E80;
  332.     {$ENDC}
  333. FUNCTION SSearchSRT(spBlkPtr: SpBlockPtr): OSErr;
  334.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  335.     INLINE $205F, $702A, $A06E, $3E80;
  336.     {$ENDC}
  337. FUNCTION SUpdateSRT(spBlkPtr: SpBlockPtr): OSErr;
  338.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  339.     INLINE $205F, $702B, $A06E, $3E80;
  340.     {$ENDC}
  341. FUNCTION SCalcSPointer(spBlkPtr: SpBlockPtr): OSErr;
  342.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  343.     INLINE $205F, $702C, $A06E, $3E80;
  344.     {$ENDC}
  345. FUNCTION SGetDriver(spBlkPtr: SpBlockPtr): OSErr;
  346.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  347.     INLINE $205F, $702D, $A06E, $3E80;
  348.     {$ENDC}
  349. FUNCTION SPtrToSlot(spBlkPtr: SpBlockPtr): OSErr;
  350.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  351.     INLINE $205F, $702E, $A06E, $3E80;
  352.     {$ENDC}
  353. FUNCTION SFindSInfoRecPtr(spBlkPtr: SpBlockPtr): OSErr;
  354.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  355.     INLINE $205F, $702F, $A06E, $3E80;
  356.     {$ENDC}
  357. FUNCTION SFindSRsrcPtr(spBlkPtr: SpBlockPtr): OSErr;
  358.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  359.     INLINE $205F, $7030, $A06E, $3E80;
  360.     {$ENDC}
  361. FUNCTION SDeleteSRTRec(spBlkPtr: SpBlockPtr): OSErr;
  362.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  363.     INLINE $205F, $7031, $A06E, $3E80;
  364.     {$ENDC}
  365. FUNCTION OpenSlot(paramBlock: ParmBlkPtr; async: BOOLEAN): OSErr;
  366. FUNCTION OpenSlotSync(paramBlock: ParmBlkPtr): OSErr;
  367.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  368.     INLINE $205F, $A200, $3E80;
  369.     {$ENDC}
  370. FUNCTION OpenSlotAsync(paramBlock: ParmBlkPtr): OSErr;
  371.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  372.     INLINE $205F, $A600, $3E80;
  373.     {$ENDC}
  374. {  Device Manager Slot Support  }
  375. FUNCTION SIntInstall(sIntQElemPtr: SQElemPtr; theSlot: INTEGER): OSErr;
  376.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  377.     INLINE $301F, $205F, $A075, $3E80;
  378.     {$ENDC}
  379. FUNCTION SIntRemove(sIntQElemPtr: SQElemPtr; theSlot: INTEGER): OSErr;
  380.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  381.     INLINE $301F, $205F, $A076, $3E80;
  382.     {$ENDC}
  383. FUNCTION SVersion(spBlkPtr: SpBlockPtr): OSErr;
  384.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  385.     INLINE $205F, $7008, $A06E, $3E80;
  386.     {$ENDC}
  387. FUNCTION SetSRsrcState(spBlkPtr: SpBlockPtr): OSErr;
  388.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  389.     INLINE $205F, $7009, $A06E, $3E80;
  390.     {$ENDC}
  391. FUNCTION InsertSRTRec(spBlkPtr: SpBlockPtr): OSErr;
  392.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  393.     INLINE $205F, $700A, $A06E, $3E80;
  394.     {$ENDC}
  395. FUNCTION SGetSRsrc(spBlkPtr: SpBlockPtr): OSErr;
  396.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  397.     INLINE $205F, $700B, $A06E, $3E80;
  398.     {$ENDC}
  399. FUNCTION SGetTypeSRsrc(spBlkPtr: SpBlockPtr): OSErr;
  400.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  401.     INLINE $205F, $700C, $A06E, $3E80;
  402.     {$ENDC}
  403. FUNCTION SGetSRsrcPtr(spBlkPtr: SpBlockPtr): OSErr;
  404.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  405.     INLINE $205F, $701D, $A06E, $3E80;
  406.     {$ENDC}
  407.  
  408.  
  409. {$ALIGN RESET}
  410. {$POP}
  411.  
  412. {$SETC UsingIncludes := SlotsIncludes}
  413.  
  414. {$ENDC} {__SLOTS__}
  415.  
  416. {$IFC NOT UsingIncludes}
  417.  END.
  418. {$ENDC}
  419.